package sys

import (
	"xkginweb/global"
	"xkginweb/model/entity/comms/request"
	"xkginweb/model/entity/sys"
)

// 对用户表的数据层处理
type SysApisService struct{}

// 添加
func (service *SysApisService) SaveSysApis(sysApis *sys.SysApis) (err error) {
	err = global.KSD_DB.Create(sysApis).Error
	return err
}

// 修改
func (service *SysApisService) UpdateSysApis(sysApis *sys.SysApis) (err error) {
	err = global.KSD_DB.Model(sysApis).Updates(sysApis).Error
	return err
}

// 删除
func (service *SysApisService) DelSysApisById(id uint) (err error) {
	var sysApis sys.SysApis
	err = global.KSD_DB.Where("id = ?", id).Delete(&sysApis).Error
	return err
}

// 批量删除
func (service *SysApisService) DeleteSysApisByIds(sysApiss []sys.SysApis) (err error) {
	err = global.KSD_DB.Delete(&sysApiss).Error
	return err
}

// 根据id查询信息
func (service *SysApisService) GetSysApisByID(id uint) (sysApiss *sys.SysApis, err error) {
	err = global.KSD_DB.Where("id = ?", id).First(&sysApiss).Error
	return
}

// 查询分页
func (service *SysApisService) LoadSysApisPage(info request.PageInfo) (list interface{}, total int64, err error) {
	// 获取分页的参数信息
	limit := info.PageSize
	offset := info.PageSize * (info.Page - 1)

	// 准备查询那个数据库表
	db := global.KSD_DB.Model(&sys.SysApis{})

	// 准备切片帖子数组
	var sysApisList []sys.SysApis

	// 加条件
	if info.Keyword != "" {
		db = db.Where("(title like ?)", "%"+info.Keyword+"%", "%"+info.Keyword+"%")
	}

	// 排序默时间降序降序
	db = db.Order("create_at desc")

	// 查询中枢
	err = db.Count(&total).Error
	if err != nil {
		return sysApisList, total, err
	} else {
		// 执行查询
		err = db.Limit(limit).Offset(offset).Find(&sysApisList).Error
	}

	// 结果返回
	return sysApisList, total, err
}
